home *** CD-ROM | disk | FTP | other *** search
- From: fjh@mundook.cs.mu.OZ.AU (Fergus Henderson)
- Message-ID: <4iaj1v$2dj@mulga.cs.mu.OZ.AU>
- X-Original-Date: 15 Mar 1996 02:01:35 GMT
- Path: in1.uu.net!bounce-back
- Date: 15 Mar 96 02:03:39 GMT
- Approved: fjh@cs.mu.oz.au
- Newsgroups: comp.std.c++
- Subject: Re: Access to private base class?
- Organization: Comp Sci, University of Melbourne
- References: <4ia9bj$atj@ugress.uib.no>
- Keywords: C++, private class
- X-Auth: PGPMoose V1.1 PGP comp.std.c++
- iQBFAgUBMUjQCOEDnX0m9pzZAQGg1wF+OFtXXKugrBAp3ldBZMMvtaQEM8tgXwXw
- QGSkNR872r5FbLaewYlxss+jkydPJRDX
- =8/to
-
- boukanov@sentef1.fi.uib.no (Igor Boukanov) writes:
-
- >Here the lines from September DWP, 5.2.6.9:
- >
- >class D : public virtual A, private B {};
- >void g()
- >{
- > D d;
- > B* bp = (B*)&d; // cast needed to break protection
- >...
- >
- >Does "cast needed to break protection" mean that in this case it is possible
- >to get access to the private base class by simple cast expression?
-
- Yes.
-
- From Stroustrup's book Design and Evolution of C++, page 328:
- "The fact that an old-stype cast can be used to gain access to the part of a
- representation that is a private base is an unfortunate historical accident."
-
- --
- Fergus Henderson WWW: http://www.cs.mu.oz.au/~fjh
- fjh@cs.mu.oz.au PGP: finger fjh@128.250.37.3
- ---
- [ comp.std.c++ is moderated. To submit articles: try just posting with ]
- [ your news-reader. If that fails, use mailto:std-c++@ncar.ucar.edu ]
- [ FAQ: http://reality.sgi.com/employees/austern_mti/std-c++/faq.html ]
- [ Policy: http://reality.sgi.com/employees/austern_mti/std-c++/policy.html ]
- [ Comments? mailto:std-c++-request@ncar.ucar.edu ]
-